<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml"
	xmlns:ui="http://java.sun.com/jsf/facelets"
	xmlns:h="http://java.sun.com/jsf/html"
	xmlns:f="http://java.sun.com/jsf/core"
	xmlns:p="http://primefaces.org/ui">

<ui:composition template="#{controle.template}">
	
	<ui:define name="corpo">

		<h:form>
			<p:growl showDetail="true" autoUpdate="true" />  
			
			<p:dialog id="dialog_principal" header="Fabricante de Veículos"
				widgetVar="dialog" visible="true" styleClass="dialog"
				draggable="true" maximizable="true" minimizable="true" width="1250">

				<h:panelGroup id="dialog_tela">
					<p:toolbar styleClass="toolbar">
						<p:toolbarGroup align="left">

							<h:outputLabel value="Fabricante: " />
							<p:autoComplete id="autoComplete_Fabricante"
								value="#{fabricanteVeiculoControle.fabricanteVeiculoNomePrefixo}"
								completeMethod="#{fabricanteVeiculoControle.autoCompleteNomeFabricante}">
							</p:autoComplete>

							<p:separator />

							<p:commandButton value="Buscar"
								actionListener="#{fabricanteVeiculoControle.buscarPorPrefixoNome}"
								update="dialog_tela"
								icon="ui-icon-search" />

							<p:separator />

							<p:commandButton title="Adicionar" icon="ui-icon-disk"
								actionListener="#{fabricanteVeiculoControle.alteraStatusParaInclusao}"
								update="dialog_tela" />
							<p:commandButton title="Alterar" icon="ui-icon-pencil" 
								actionListener="#{fabricanteVeiculoControle.alterarStatusParaEdicao}"
								update="dialog_tela"
								disabled="#{fabricanteVeiculoControle.adicionarStatus}" />
							<p:commandButton title="Deletar" icon="ui-icon-trash"
								actionListener="#{fabricanteVeiculoControle.excluir}"
								update="dialog_tela"
								disabled="#{fabricanteVeiculoControle.adicionarStatus}" />

						</p:toolbarGroup>

						<p:toolbarGroup align="right">
							<p:menuButton value="Opções">
								<p:menuitem value="Listar Todos - Sync"
									icon="ui-icon-arrowrefresh-1-e"
									actionListener="#{fabricanteVeiculoControle.atualizarTabela}"
									update="dialog_tela" />
								<p:menuitem value="Pesquisar" icon="ui-icon-search" />
								<p:menuitem value="Adicionar" icon="ui-icon-disk" />
								<p:menuitem value="Alterar" icon="ui-icon-pencil" disabled="#{fabricanteVeiculoControle.adicionarStatus}"/>
								<p:menuitem value="Excluir" icon="ui-icon-trash" disabled="#{fabricanteVeiculoControle.adicionarStatus}"/>
							</p:menuButton>
						</p:toolbarGroup>

					</p:toolbar>

					<br />

					<h:panelGroup id="formulario" rendered="#{fabricanteVeiculoControle.adicionarStatus or fabricanteVeiculoControle.editarStatus}">

						<fieldset>
							<legend> Formulário de #{fabricanteVeiculoControle.estadoTela.descricao} </legend>

							<h:panelGrid columns="2">
								<h:outputLabel value="ID: "
									styleClass="label_form" />
								<p:inputText
									value="#{fabricanteVeiculoControle.fabricanteVeiculoFormulario.id}"
									styleClass="inputext" disabled="true"/>
									
								<h:outputLabel value="Nome do Fabricante: "
									styleClass="label_form" />
								<p:inputText
									value="#{fabricanteVeiculoControle.fabricanteVeiculoFormulario.nome}"
									styleClass="inputext" />

								<h:outputLabel value="Abreviação: " styleClass="label_form" />
								<p:inputText
									value="#{fabricanteVeiculoControle.fabricanteVeiculoFormulario.abreviacao}"
									styleClass="inputext" />

							</h:panelGrid>

							<hr width="100%" />

							<div style="text-align: left; width: 100%">
								<p:commandButton value="Incluir" styleClass="button"
									actionListener="#{fabricanteVeiculoControle.incluir}"
									rendered="#{fabricanteVeiculoControle.adicionarStatus}"
									update="formulario" />

								<p:commandButton value="Salvar" styleClass="button"
									actionListener="#{fabricanteVeiculoControle.editar}"
									rendered="#{fabricanteVeiculoControle.editarStatus}"
									update="dialog_tela" />

								<p:commandButton value="Limpar" styleClass="button"
									actionListener="#{fabricanteVeiculoControle.limparFormulario}"
									rendered="#{fabricanteVeiculoControle.adicionarStatus}"
									update="formulario" />
								
								<p:commandButton value="Voltar" styleClass="button"
									actionListener="#{fabricanteVeiculoControle.alteraStatusParaPesquisa}"
									update="dialog_tela" />
							</div>
						</fieldset>
					</h:panelGroup>

					<br />

					<p:contextMenu for="tabela_fabricantes">
						<p:menuitem value="Visualizar" icon="ui-icon-search"
							actionListener="#{fabricanteVeiculoControle.alteraStatusParaVisualizacao}"
							oncomplete="dialog_confirmacao.show()"
							update="datalist_telaConfirmacao" />

						<p:menuitem value="Editar" icon="ui-icon-pencil"
							actionListener="#{fabricanteVeiculoControle.alterarStatusParaEdicao}"
							update="dialog_tela" />

						<p:menuitem value="Excluir" icon="ui-icon-trash"
							actionListener="#{fabricanteVeiculoControle.excluir}"
							update="dialog_tela" />
					</p:contextMenu>

					<p:dataTable id="tabela_fabricantes" styleClass="tabelaDados"
						value="#{fabricanteVeiculoControle.fabricanteVeiculosListTabela}"
						var="fabricante" rowKey="#{fabricante.id}"
						selectionMode="multiple"
						selection="#{fabricanteVeiculoControle.fabricanteVeiculoSelecionadoTabela}"
						emptyMessage="Nenhum registro encontrado !" paginator="true"
						rows="5" rowsPerPageTemplate="5,10,15,20,30"
						paginatorPosition="bottom" paginatorAlwaysVisible="false"
						rendered="#{fabricanteVeiculoControle.pesquisarStatus}">

						<p:column headerText="Id" sortBy="#{fabricante.id}">
							#{fabricante.id}
						</p:column>

						<p:column headerText="Fabricante" sortBy="#{fabricante.nome}">
							#{fabricante.nome}
						</p:column>

						<p:column headerText="Abreviação"
							sortBy="#{fabricante.abreviacao}">
							#{fabricante.abreviacao}
						</p:column>
					</p:dataTable>
				</h:panelGroup>
			</p:dialog>

			<h:panelGroup id="panelgroup_dialogsConfirmacao"> 
				

				<p:dialog 
					header="Fabricantes - #{fabricanteVeiculoControle.estadoTela.descricao}"
					widgetVar="dialog_confirmacao" showEffect="explode"
					hideEffect="explode" modal="true">
					
					<p:dataList id="datalist_telaConfirmacao"
						value="#{fabricanteVeiculoControle.fabricanteVeiculoSelecionadoTabela}"
						var="f" itemType="circle">
  					
			            Nome: #{f.nome}, Abreviação: #{f.abreviacao}
		              
					</p:dataList>
					
					Confirma Exclusão destes Fabricantes:
					
					<hr width="100%" />
					
					<p:commandButton value="Sim" styleClass="button" update="formulario" />
					
					<p:commandButton id="btnCancelar" value="Cancelar" styleClass="button"  
						onclick="dialog_confirmacao.hide()" type="button" /> 
				</p:dialog>

			</h:panelGroup>
		</h:form>
	</ui:define>
</ui:composition>
</html>